﻿#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
#endregion

//Grid System:
//A Tile Grid or Grid System can be made up of individual Grid Sections.
//A Grid Section class will hold information to do with that Grid Section.
//This includes its space in the world, and its position in the Grid System
//that its placed in.

//My idea for snapping things into the Grid Section, is to be using a
//Bounding Box for the Grid Section. It can be the size of the Grid Section
//or it can be smaller. Once the Intersection is made, between an object
//and the Grid Section, the Object will be snapped into place, by placing 
//its bottom center in the center of the Grid Section.
namespace MinimizeEngine.Entities.Grid_System
{
    public class MEGridSection : MEBaseEntity
    {
        #region Fields

        /// <summary>
        /// Position of the Grid Section in the Grid System
        /// </summary>
        private Vector2 mLocalGridPosition;

        /// <summary>
        /// Width of the Grid Section
        /// </summary>
        private float mWidth;

        /// <summary>
        /// Height of the Grid Section
        /// </summary>
        private float mHeight;

        #endregion

        #region Properties

        /// <summary>
        /// Get or Set the Grid Sections Local Position in the grid System
        /// </summary>
        public Vector2 LocalGridPosition
        {
            get { return mLocalGridPosition; }
            set { mLocalGridPosition = value; }
        }

        /// <summary>
        /// Grid Sections Width
        /// </summary>
        public float Width
        {
            get { return mWidth; }
        }

        /// <summary>
        /// Grid Sections Height
        /// </summary>
        public float Height
        {
            get { return mHeight; }
        }

        #endregion

        #region Initialization

        public MEGridSection(string name, Vector3 worldPos, Vector2 localPos, float width, float height, Matrix rotation)
            : base(name, worldPos, rotation)
        {
            mLocalGridPosition = localPos;
            mWidth = width;
            mHeight = height;
        }

        #endregion

        #region Draw



        #endregion
    }
}
